package main

import (
	"awesomeProject/pkg/lesson3/store"
	"awesomeProject/pkg/lesson3/store/impl"
)

///**
//读取kv
//*/
//func Get(st string, key string) (interface{}, error) {
//	switch st {
//	case "local":
//		fmt.Println("读取本地内存内容")
//		return impl.LocalStore{}.Get(key)
//	case "redis":
//		fmt.Println("读取redis内容")
//		return impl.RedisStore{}.Get(key)
//	default:
//		fmt.Println("默认读取本地文件内容")
//		return impl.FileStore{}.Get(key)
//	}
//}
//
///**
//写入kv
//*/
//func Set(st string, key string, value interface{}) error {
//	switch st {
//	case "local":
//		fmt.Println("写入本地内存内容")
//		return impl.LocalStore{}.Set(key, value)
//	case "redis":
//		fmt.Println("写入redis内容")
//		return impl.RedisStore{}.Set(key, value)
//	default:
//		fmt.Println("默认写入本地文件内容")
//		return impl.FileStore{}.Set(key, value)
//	}
//}
//
///**
//删除kv
//*/
//func Delete(st string, key string) error {
//	switch st {
//	case "local":
//		fmt.Println("删除本地内存内容")
//		return impl.LocalStore{}.Delete(key)
//	case "redis":
//		fmt.Println("删除redis内容")
//		return impl.RedisStore{}.Delete(key)
//	default:
//		fmt.Println("默认删除读取本地文件内容")
//		return impl.FileStore{}.Delete(key)
//	}
//}

/**
获取存储实例
*/
func getInstance(stroeType string) store.StoreInterface {
	switch stroeType {
	case "local":
		return impl.LocalStore{}
	case "redis":
		return impl.RedisStore{}
	default:
		return impl.FileStore{}
	}
}
